<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:57981/ProductsService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Common" />
  <xs:import schemaLocation="http://localhost:57981/ProductsService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import schemaLocation="http://localhost:57981/ProductsService.svc?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/Common.Views" />
  <xs:import schemaLocation="http://localhost:57981/ProductsService.svc?xsd=xsd6" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:element name="GetAllProducts">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllProductsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetAllProductsResult" nillable="true" type="q1:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductDetails">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productID" type="xs:int" />
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="orderID" type="q2:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductDetailsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Common.Views" minOccurs="0" name="GetProductDetailsResult" nillable="true" type="q3:OrdersView" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCommentsForProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCommentsForProductResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetCommentsForProductResult" nillable="true" type="q4:ArrayOfCommentsProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddToCart">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="productId" type="xs:int" />
        <xs:element minOccurs="0" name="qty" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddToCartResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddToCartResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddComment">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="productId" type="xs:int" />
        <xs:element minOccurs="0" name="comment" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddCommentResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsInShoppingCart">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsInShoppingCartResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/Common.Views" minOccurs="0" name="GetProductsInShoppingCartResult" nillable="true" type="q5:ArrayOfCartView" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRatingForProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="productId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRatingForProductResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetRatingForProductResult" nillable="true" type="q6:ArrayOfint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddRatingForProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="productId" type="xs:int" />
        <xs:element minOccurs="0" name="rating" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddRatingForProductResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddRatingForProductResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCategories">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCategoriesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetCategoriesResult" nillable="true" type="q7:ArrayOfProductCategory" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByCategory">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="categoryId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByCategoryResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsByCategoryResult" nillable="true" type="q8:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByName">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="keyword" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByNameResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsByNameResult" nillable="true" type="q9:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByPrice">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="min" type="xs:decimal" />
        <xs:element minOccurs="0" name="max" type="xs:decimal" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsByPriceResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="GetProductsByPriceResult" nillable="true" type="q10:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SortByPriceAsc">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SortByPriceAscResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="SortByPriceAscResult" nillable="true" type="q11:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SortByPriceDesc">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SortByPriceDescResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="SortByPriceDescResult" nillable="true" type="q12:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SortByDateAsc">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SortByDateAscResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/Common" minOccurs="0" name="SortByDateAscResult" nillable="true" type="q13:ArrayOfProduct" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>